package com.acce.gxsc.model.http;


import com.acce.gxsc.common.App;
import com.acce.gxsc.model.loaclBean.DutyLogBean;
import com.acce.gxsc.model.loaclBean.InCarIdBean;
import com.acce.gxsc.model.loaclBean.InCarListBean;
import com.acce.gxsc.model.loaclBean.LocalFeeCarDetailBean;
import com.acce.gxsc.model.loaclBean.PregisterInfoBean;
import com.acce.gxsc.model.loaclBean.PregisterListBean;
import com.acce.gxsc.model.loaclBean.ResultBean;
import com.acce.gxsc.model.netBean.DutyBean;
import com.acce.gxsc.model.netBean.GoodsListBean;
import com.acce.gxsc.model.netBean.NetBatchDetailBean;
import com.acce.gxsc.model.netBean.NetCompanyBean;
import com.acce.gxsc.model.netBean.NetInBatchListBean;
import com.acce.gxsc.model.netBean.NetInCarInfo;
import com.acce.gxsc.model.netBean.NetInCarListBean;
import com.acce.gxsc.model.netBean.NetInCarReport;
import com.acce.gxsc.model.netBean.NetOutCarBatchDetailBean;
import com.acce.gxsc.model.netBean.NetOutCarReport;
import com.acce.gxsc.model.netBean.NetSimilarCarInfo;
import com.acce.gxsc.model.netBean.NetSupervisionDutyListBean;
import com.acce.gxsc.model.netBean.NetSupervisionListBean;
import com.acce.gxsc.model.netBean.NetWorkAreaListBean;

import retrofit2.http.Field;
import retrofit2.http.FormUrlEncoded;
import retrofit2.http.POST;
import rx.Observable;

/**
 * Created by huxley on 2017/3/25.
 */
public interface AcceApi {

    String BASE_URL = App.isDebug ? "https://dev.accemarket.com/" : (App.isDongGuanShiChang?"https://guanxiang.app.accemarket.com/":"https://admin.accemarket.com/");

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<DutyLogBean>> loadWork(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );


    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<DutyBean>> startWork(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );


    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<DutyBean>> workAgain(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );


    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<Object>> endWork(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );


    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<GoodsListBean>> loadGoodsList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<Object>> registerCar(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    /**修改进场车辆信息*/
    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<Object>> editCar(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<PregisterListBean>> loadRegisterCarList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetCompanyBean>> loadCompanyList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<PregisterInfoBean>> loadRegisterCarDetail(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<InCarIdBean>> inRoom(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<InCarListBean>> loadInCarList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetInCarInfo>> loadInCarDetail(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetInCarReport>> loadInCarForm(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetOutCarBatchDetailBean>> toOutCarDetail(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<com.acce.gxsc.model.netBean.InCarListBean>> toOutCarCount(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<com.acce.gxsc.model.netBean.InCarListBean>> toOutCarList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );
    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<com.acce.gxsc.model.netBean.InCarListBean1>> toOutCarList1(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<Object>> deleteOrder(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<LocalFeeCarDetailBean>> getFeeCarDetail(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetOutCarReport>> loadOutCarForm(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetInBatchListBean>> loadBatchList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetSimilarCarInfo>> loadOutCarList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetWorkAreaListBean>> loadWorkAreaList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<Object>> supervisionCar(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetBatchDetailBean>> loadBatchDetail(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetInCarListBean>> getTime(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetSupervisionListBean>> loadSupervisionHandover(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );

    @FormUrlEncoded
    @POST("api/iocar")
    Observable<ResultBean<NetSupervisionDutyListBean>> loadSupervisionReportList(
            @Field("serviceCode") String serviceCode,
            @Field("business") String business
    );
}
